package com.lin.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lin.mapper.DFileMapper;
import com.lin.pojo.DFile;
import com.lin.pojo.PageVo;
import com.lin.service.DFileService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Service
public class DFileServiceImpl extends ServiceImpl<DFileMapper, DFile> implements DFileService {
    @Autowired
    DFileMapper dFileMapper;


    @Override
    public PageVo<DFile> queryallbycond(DFile dFile, int pageno, int pagesize) {
        System.out.println(dFile);
        Page<DFile> page=new Page<DFile>(pageno,pagesize);
        QueryWrapper<DFile> queryWrapper=new QueryWrapper<DFile>();
        //审核判断
        if(StringUtils.isNotBlank(dFile.getCheckTag())){
            queryWrapper.eq("CHECK_TAG",dFile.getCheckTag());
        }
        //查询type  产品或者物料
        if(StringUtils.isNotBlank(dFile.getType())){
            queryWrapper.eq("type",dFile.getType());
        }
        //查询designModuleTag  物料设计标志
        if(StringUtils.isNotBlank(dFile.getDesignModuleTag())){
            queryWrapper.eq("DESIGN_MODULE_TAG",dFile.getDesignModuleTag());
        }
        //查询DesignProcedureTag 工序设计标志
        if(StringUtils.isNotBlank(dFile.getDesignProcedureTag())){
            queryWrapper.eq("DESIGN_PROCEDURE_TAG",dFile.getDesignProcedureTag());
        }
        Page<DFile> page1 = this.page(page,queryWrapper);


        PageVo<DFile> pageVo = new PageVo<DFile>();
        pageVo.setTotal(page1.getTotal());
        pageVo.setRows(page1.getRecords());


        return pageVo;

    }



    //获取下拉菜单值
    @Override
    public DFile queryPull() {

        return null;
    }

    @Override
    public DFile queryDFilebyid(int id)
    {
        return dFileMapper.queryDFilebyid(id);
    }

    @Override
    public Map upDFile(DFile dFile) {
        return null;
    }



    @Override
    public List<DFile> queryfifstkindname() {

        return dFileMapper.queryfifstkindname();
    }

    @Override
    public int updfilecheckTag(int id) {


        return dFileMapper.updfilecheckTag(id);

    }

    @Override
    public Map deleDFile(DFile dFile) {
        int num=dFileMapper.updateById(dFile);
        Map map=new HashMap();
        map.put("code","0");
        map.put("msg","删除失败");
        if (num==1){
            map.put("code","1");
            map.put("msg","删除成功");
        }
        return map;
    }

    //真正删除
    @Override
    public Map dele(DFile dFile) {
        int num=dFileMapper.deleteById(dFile.getId());
        Map map=new HashMap();
        map.put("code","0");
        map.put("msg","删除失败");
        if (num==1){
            map.put("code","1");
            map.put("msg","删除成功");
        }
        return map;
    }

    @Override
    public DFile queryDFileulbyid(int id) {
        return dFileMapper.queryDFileulbyid(id);
    }


    //添加
    @Override
    public Map addbydfile(DFile dFile) {
        System.out.println(dFile);
        boolean f=this.save(dFile);
        Map map=new HashMap();
        if (f){
            map.put("code","1");
            map.put("msg","添加成功");
        }else {
            map.put("code","0");
            map.put("msg","添加失败");
        }
        return map;
    }

    //分页查询
    @Override
    public PageVo<DFile> querybyAlldfile(DFile dFile, int pageno, int pagesize) {
        Page<DFile> page=new Page<DFile>(pageno,pagesize);
        System.out.println(dFile);
        QueryWrapper<DFile> queryWrapper=new QueryWrapper<DFile>();
        queryWrapper.eq("CHECK_TAG","S001-1");
        queryWrapper.eq("DELETE_TAG","C001-0");
         if(dFile.getDesignProcedureTag()!=null){
             System.out.println("----------------"+dFile);
             queryWrapper.eq("DESIGN_MODULE_TAG",dFile.getDesignProcedureTag());
         }
        if (!dFile.getType().equals("未选择")){
            queryWrapper.eq("TYPE",dFile.getType());
        }
        if (!dFile.getFirstKindId().equals("未选")){
            queryWrapper.eq("FIRST_KIND_ID",dFile.getFirstKindId());
        }
        if (!dFile.getSecondKindName().equals("---请选择II级分类---")){
            System.out.println("_-------------------------------------");
            queryWrapper.eq("SECOND_KIND_NAME",dFile.getSecondKindName());
        }
        if (!dFile.getThirdKindName().equals("---请选择III级分类---")){
            System.out.println("_-------------------------------------");
            queryWrapper.eq("THIRD_KIND_NAME",dFile.getThirdKindName());
        }

        Page<DFile> page1 = this.page(page,queryWrapper);

        PageVo<DFile> pageVo = new PageVo<DFile>();
        pageVo.setTotal(page1.getTotal());
        pageVo.setRows(page1.getRecords());

        return pageVo;
    }

    @Override
    public PageVo<DFile> querybyAlldfilewangyingliang(DFile dFile, int pageno, int pagesize) {
        Page<DFile> page=new Page<DFile>(pageno,pagesize);
        QueryWrapper<DFile> queryWrapper=new QueryWrapper<DFile>();
        if(StringUtils.isNotBlank(dFile.getProductName())){
            queryWrapper.like("PRODUCT_NAME",dFile.getProductName());
        }
        if(StringUtils.isNotBlank(dFile.getCheckTag())){
            queryWrapper.eq("CHECK_TAG",dFile.getCheckTag());
        }
        if(StringUtils.isNotBlank(dFile.getDesignCellTag())){
            queryWrapper.eq("DESIGN_CELL_TAG",dFile.getDesignCellTag());
        }
        if(StringUtils.isNotBlank(dFile.getFirstKindId())){
            queryWrapper.eq("FIRST_KIND_ID",dFile.getFirstKindId());
        }
        if(StringUtils.isNotBlank(dFile.getSecondKindId())){
            queryWrapper.eq("SECOND_KIND_ID",dFile.getSecondKindId());
        }
        if(StringUtils.isNotBlank(dFile.getThirdKindId())){
            queryWrapper.eq("THIRD_KIND_ID",dFile.getThirdKindId());
        }
        Page<DFile> page1 = this.page(page,queryWrapper);
        PageVo<DFile> pageVo = new PageVo<DFile>();
        pageVo.setTotal(page1.getTotal());
        pageVo.setRows(page1.getRecords());
        return pageVo;
    }

    public PageVo<DFile> querybyAlldfile02(DFile dFile, int pageno, int pagesize) {
        Page<DFile> page=new Page<DFile>(pageno,pagesize);
        QueryWrapper<DFile> queryWrapper=new QueryWrapper<DFile>();
        queryWrapper.eq("CHECK_TAG","S001-1");
        queryWrapper.eq("DELETE_TAG","C001-1");
        Page<DFile> page1 = this.page(page,queryWrapper);
        PageVo<DFile> pageVo = new PageVo<DFile>();
        pageVo.setTotal(page1.getTotal());
        pageVo.setRows(page1.getRecords());

        return pageVo;
    }

    @Override
    public Map updatebyDFile(DFile dFile) {
        int num=dFileMapper.updateById(dFile);
        Map map=new HashMap();
        map.put("code","0");
        map.put("msg","审核未通过");
        if (num==1){
            map.put("code","1");
            map.put("msg","审核通过");
        }
        return map;

    }

    @Override
    public Map updatebyDFile02(DFile dFile) {
        int num=dFileMapper.updateById(dFile);
        Map map=new HashMap();
        map.put("code","0");
        map.put("msg","变更失败");
        if (num==1){
            map.put("code","1");
            map.put("msg","变更成功");
        }
        return map;
    }

}
